
;*12 ZERO SPRITE ENTITIES
;NODRUMS,ALLOWDRUMS
;1. STATREQUEST WORLD CAN CAUSE PENDING GLOBAL SCROLL AMOUNT TO BE NOT APPLIED
;TO ENEMIES ON SCREEN.  WHEN YOU RETURN, THEY ARE SHIFTED OVER.
;

;THE FOLLOWING 4 BYTES ARE EQUIVALENT TO A TOPSTAT COMMAND AND
;MUST BE HERE TO GET THINGS SET UP AT RESET TIME.  FROM THEN ON, ONLY
;YOUR TOPSTAT COMMAND VALUES ARE IN EFFECT.  THE VALUES HERE ARE PROBABLY
;WHAT YOU WOULD WANT SINCE THEY MAKE A CLEAN CENTERED 24 HIGH BOOT
;SCREEN WITHOUT A STATUS BAR.  BE SURE TO SET THE CHARACTERS SET HERE
;VALID FOR YOUR BOOT WORLD!!!

DEFTOPSTAT:
	.DB	0,0,0,0	;38,38,0,0	;PUT SAME VALUES HERE AS FOR A TOPSTAT.
				;THIS DEMO ONE MAKES A 4.75 HIGH (5 ROWS)
				;STATUS BAR.  VIEWABLE DATA IS IN ROWS
				;3 AND 4 (THE BOTTOM 2).

	.EQU	STATCHAR,H'FE		;FOR BACKGROUND (BOTTOM OF STAT BAR)
	.EQU	STATSPRITE,H'FE		;FOR THE SPRITE (USUALLY 2 HIGH)

.EQU	CLOCKPHASE,2		;THIS VARIABLE CONTROLS HOW MANY TIMES PER
				;SECOND EACH ENEMY IS MOVED.  YOUR COUNTERS
				;ALSO RUN AT THIS FREQUENCY SO BE CAREFUL.
				;HERE ARE THE VALUES:
				;	    2 = 30 TIMES PER SECOND.
				;	    3 = 20 TIMES PER SECOND
				;	    4 = 15 TIMES PER SECOND.	

.EQU	XSCROLLSPEED,8	;FASTEST THE SCREEN IS ALLOWED TO SCROLL ON X AXIS.  
			;DON'T GO ABOVE 8 OR THE HERO WILL BE ABLE MAKE THE 
			;SCREEN SKIP OVER ENEMY LAUNCHES.  

.EQU	YSCROLLSPEED,16	;FASTEST THE SCREEN IS ALLOWED TO SCROLL ON Y AXIS.
			;16 IS A REASONABLE MAX.

.EQU	ERASECHAR,H'23	;THE CHAR TO BLANK FILL SCREENS WITH.  MUST BE
			;BLANK IN ALL BACKGROUNDS.

;THIS TABLE CONTAINS THE AMOUNT OF MOMENTUM THAT THE JOYSTICK WILL
;APPLY FOR THE ARROW DIRECTIONS.  THE BYTES ARE:
;LEFTX, LEFTY, RIGHTX, RIGHTY, UPX, UPY, DOWNX, DOWNY.
;+ VALUES ARE RIGHT AND DOWN.  - VALUES ARE UP AND LEFT.  
;THE MAX VALUE IS H'40.  THE NEGATIVE VALUE MAY BE H'FF DOWN TO 
;H'B0.

DEFMOMS:	.DB	H'C0,H'00,H'40,H'00,H'00,H'F4,H'00,H'0C	;JOYSTICK
			
;THIS IS THE SOUND MADE BY THE DING COMMAND.

PNOISE:	.DB	VOICE3,LOADALL,H'04,H'00,H'83,H'08
	.DB	PAUSE+N4,ENDPLAY

;************************************************************************
;		ENTITY (SPRITE) CONTROL INFORMATION
;
;THIS TABLE SPECIFIES THE INFORMATION NEEDED TO CONTROL A SPRITE ENTITY.
;ENTITIES INCLUDE THE HERO(S), ENEMIES, BULLETS, PLATFORMS, PRIZES, AND
;SPECIAL EFFECTS.  THERE ARE 16 ALLOWED AT A TIME IN ANY COMBINATION.
;WHEN AN ENTITY IS LAUNCHED, HE IS PUT INTO THE "WAKEUP"ODE WITH
;THE WAKE UP ANIMATION SELECTED AND THE WAKE UP TABLE IN EFFECT.  EACH
;TABLE CAN JUMP TO OR RUN ANOTHER TABLE USING EMBEDDED COMMANDS SO THE
;ENTITY'S FULL BEHAVIOR CAN BE CONTROLLED WITHOUT ASSEMBLY LANGUAGE.  WHEN AN
;ENTITY IS HIT BY AN ATTACK HE GOES INTO HURT MODE AUTOMATICALLY.  WHEN
;THE JOYSTICK IS TIED TO AN ENTITY (HERO MODE) VARIOUS FUNCTIONS ARE
;ACTIVATED AUTOMATICALLY FROM THE JOYSTICK BUTTONS AS SPECIFIED WITH THE
;SPECIAL COMMANDS. 

;A SPECIAL KIND OF ENTITY CALLED "ZERO SPRITES ENTITY" IS ALSO SUPPORTED.
;SETTING BIT H'40 IN THE RECOMMENDED BASE SPRITE FOR THE ENTITY CAUSES
;THIS EFFECT.  THE ENTITY BEHAVES LIKE ANY OTHER EXCEPT THAT IT DOESN'T
;TAKE UP ANY SPRITES (AND NATURALLY IT DOESN'T DISPLAY).  THE DRAWING
;PROGRAM WILL ALLOW YOU TO DEFINE THESE AUTOMATICALLY.

;AT BOOT UP THE FOLLOWING DEFAULTS ARE SET FOR THE ENTITY:
;MOMENTUM LIMIT FOR THE X AXIS IS SET TO DEF_XLIM.
;MOMENTUM LIMIT FOR THE Y AXIS IT IS SET TO DEF_YLIM.
;GRAVITY IS SET TO DEF_GRAV.  
;FRICTION IS SET TO DEF_XFRICT AND DEF_YFRICT.
;BOUNCE IS SET TO DEF_BOUNCE.
;
;
;COMMANDS ARE PROVIDED TO CHANGE THESE DEFAULTS AS DESIRED.
;
;EACH ENTITY SPECIFICATION ENTRY CONTAINS THE FOLLOWING INFORMATION:
;
;
;**********************************************************************

;NOTE:  THESE VALUES WILL HAVE TO BE CHANGED IF YOU CHANGE CLOCKPHASE.

.EQU	DEF_XLIM,40	;64 MAX OR YOU CAN MISS WORLD COMMANDS
.EQU	DEF_YLIM,64	;64 MAX OR YOU CAN MISS WORLD COMMANDS
.EQU	DEF_GRAV,8
.EQU	DEF_XFRICT,20	;24
.EQU	DEF_YFRICT,0
.EQU	XFCTR,3		;1/15 DELAY AFTER APPLYING X MOMENTUM BEFORE FRICTION
			;EACH TICK HERE ALLOWS 2 INSTRUCTIONS.
.EQU	YFCTR,2	;3	;DELAY AFTER APPLYING Y MOM BEFORE FRICTION KICKS IN
.EQU	DEF_BOUNCE,0	;DEFAULT BOUNCE FACTOR

;**********************************ENTITYTAB**********************************
	
ENTITYTAB:			;ENTITY SPRITE ASSIGNMENT TABLE

	.DRW	COPRINFO	;0=COPYRIGHT NOTICE AND START BUTTON MONITOR
	.DB	0,0,0,0
	.DRW	HANDY		;1 HERO HAND
	.DB	H'51,H'E0,0,0
	.DRW	BULLY		;2 DUDE BEING SHOT
	.DB	H'40,H'FA,0,0
	.DRW	DUDER		;3 LITTLE GUY WALKING 
	.DB	H'41,H'E0,0,0
	.DRW	DUDEMAKE	;4 DUDE MAKER
	.DB	0,0,0,0
	.DRW	TIMER		;5 WORLD TIMER
	.DB	0,0,0,0		
	.DRW	CATCHER1	;6 CATCHER
	.DB	H'41,H'E0,0,0		
	.DRW	DUCKY		;7 DUCK BONUS
	.DB	H'41,H'E0,0,0		
	.DRW	DUDER2		;8 LITTLE GUY WALKING 
	.DB	H'41,H'E0,0,0
	.DRW	DUDER3		;9 LITTLE GUY OUT OF CANNON 
	.DB	H'41,H'E0,0,0
	.DRW	CANSMOK		;10 CANNON SMOKE
	.DB	H'01,H'E0,0,0
	.DRW	SNIPER		;11 SNIPER
	.DB	H'41,H'E0,0,0
	.DRW	SNBULLET   	;12 SNIPER BULLET
	.DB	H'41,H'E0,0,0
	.DRW	DUDER4		;13 LADDER CLIMBER
	.DB	H'41,H'E0,0,0	
	.DRW	OBSTACLE	;14 OBSTACLE FOR CATCHER
	.DB	H'41,H'E0,0,0	
	.DRW	DUDER5		;15 GUY IN PARACHUTE WORLD
	.DB	H'41,H'E0,0,0
	.DRW	TRASH		;16 TRASH CAN
	.DB	H'41,H'E0,0,0
	.DRW	BDUMB		;17 LAUNCHES BOMBS
	.DB	H'41,H'E0,0,0
	.DRW	MOUTHY		;18 MOUTH
	.DB	H'41,H'E0,0,0		
	.DRW	DUDER6		;19 GUY IN PLATFORM, MOUTH, AND FIRE WORLD
	.DB	H'41,H'E0,0,0
	.DRW	PLATS		;20 PLATFORM
	.DB	H'41,H'E0,0,0	
	.DRW	BOMBDUM		;21 LAUNCHES BOMBS
	.DB	0,H'E0,0,0
	.DRW	BOMBF		;22 FLAME BOMB 
	.DB	H'41,H'E0,0,0
	.DRW	DUDER7		;23 GUY IN PIPES WORLD 
	.DB	H'41,H'E0,0,0
	.DRW	FOOTY		;24 BIG STOMPING FOOT 
	.DB	H'41,H'E0,0,0
	.DRW	CORDY		;25 BUNGEE CORD
	.DB	H'41,H'E0,0,0
	.DRW	DUDER8		;26 BUNGEE GUY 
	.DB	H'41,H'E0,0,0
	.DRW	MESSAGE		;27 MESSAGE MAKER BETWEEN WORLDS 
	.DB	0,0,0,0
	.DRW	BUMPER		;28 BUMPER 
	.DB	H'41,H'E0,0,0
	.DRW	DUDER9		;29 BUMPER DUDE 
	.DB	H'41,H'E0,0,0
	.DRW	DYNAMITE    	;30 DYNAMITE 
	.DB	H'41,H'E0,0,0
	.DRW	DUDER10		;31 DUDE IN DYNAMITE WORLD
	.DB	H'41,H'E0,0,0
	.DRW	FREE		;32 FREE HAND
	.DB	H'41,H'E0,0,0		
	.DRW	BOOTDUDE	;33 DUDE IN BOOT WORLD
	.DB	H'41,H'E0,0,0
	.DRW	VOMCODE		;34 VOMIT FROM MOUTH
	.DB	H'41,H'E0,0,0
	.DRW	ENDDUDE		;35 END DUDES
	.DB	H'41,H'E0,0,0
	.DRW	ENDHAND		;36 END HAND
	.DB	H'41,H'E0,0,0
	.DRW	FAN1		;37 FANS AT PARADE 
	.DB	H'41,H'E0,0,0
	.DRW	WALKER		;38 WALKER IN MESSAGE SCREEN 
	.DB	H'41,H'E0,0,0
	.DRW	JET		;39 10 GUYS FLYING BY 
	.DB	H'41,H'E0,0,0
	.DRW	DUDER11		;40 GUY IN HORN WORLD 
	.DB	H'41,H'E0,0,0
	.DRW	DUDER12		;41 GUY IN POPCORN WORLD 
	.DB	H'41,H'E0,0,0
	.DRW	HOPPER		;42 HOPPING THING
	.DB	H'41,H'E0,0,0
	.DRW	BOSSGUY		;43 BOSS HAND
	.DB	H'41,H'E0,0,5  ;7
	.DRW	BOSSHIT1	;44 BOSS SHIT1
	.DB	H'41,H'E0,0,0
	.DRW	HANDBALL	;45 HAND PICKLE TO BOSS
	.DB	H'41,H'E0,0,0
	.DRW	BOSSHIT2	;46 BOSS SHIT2
	.DB	H'41,H'E0,0,0
	.DRW	BOSSOBST	;47 BOSS OBSTACLE
	.DB	H'51,H'E0,0,0
	.DRW	BOSSHIT3	;48 BOSS SHIT3
	.DB	H'41,H'E0,0,0
	.DRW	SQUISHI		;49 SQUISHI
	.DB	H'51,H'E0,0,4
	.DRW	SQUIBOMB 	;50 SQUISHI BOMB
	.DB	H'41,H'E0,H'30,0
	.DRW	CREDITS 	;51 END CREDITS
	.DB	0,0,0,0
	.DRW	STAR	 	;52 LAST STAR
	.DB	0,0,0,0

;******* BOOT SCREEN ENTITIES ************

SAFEDIE:
	.DB	DIE,0

COPRINFO:
	.DRW  	DUMMY,STARTKEY		;WAKEUP FOR BOOT KEY MONITOR
	.DB	0,-1,0,0,0

STARTKEY:			;BOOT ENTITY CODE
	.DB	INSTRUCTIONS,14
	.DB	GRAVITY,0
	.DB	JOYSTICK,0
	.DB	DISSCROLL,UP|DOWN
	.DB	CHEAT,ON 
	.DB	SETSCORE,JOY1
	.DRW	100
	.DB	SETHEROS,JOY1,2
	.DB	SETREG,0,0
	.DB	STORE,51	;ZERO COUNTER
	.DB	STORE,25	;ZERO GOAL COUNT
	.DB	STORE,53 	;ZERO SAVED COUNT
;	.DB	STORE,26	;ZERO TOTAL SAVE COUNTER
;	.DB	STORE,24	;ZERO DEATH COUNTER

STRT4:	.DB	SOUNDBUSY
	.DRW	STRT6
	.DB	ON,ON,ON,ON

STRT5:	.DB	WRITEVID
	.DRW	MUSICON
	.DB	29,4,0,22
	.DB	SETREG,1,0
	.DB	STORE,60
	.DB	SOUND
	.DRW	POLLSONG,POLLBASS,POLLDRUM,0
	.DB	SKIP
	.DRW	STRT10

STRT6:	.DB	WRITEVID
	.DRW	MUSICOFF
	.DB	29,4,0,22
	.DB	SETREG,0,0
	.DB	STORE,60
	.DB	SOUND
	.DRW	0,0,0,0

STRT10:	.DB	LAUNCH,33,0,0,0
	.DB	FETCHREG,RANDOM
	.DB	LIMIT
	.DRW	32
	.DB	SETCOUNTER,REGISTER
SRT15:
	.DB	BUTTON
	.DRW	STRT20
	.DB	START
	.DB	BUTTON
	.DRW	STRT4
	.DB	SELECT|A_BUTTON|B_BUTTON|UP|DOWN
	.DB	ABOVECOUNT
	.DRW	SRT15
	.DB	1
	.DB	SKIP
	.DRW	STRT10

STRT20:	.DB	SETREG,1,0  	;WORLD TO GO TO
	.DB	STORE,57
	.DB	WORLD,16 	;GO TO MESSAGE FIRST

MUSICON:.DB	"MUSIC SELECT: ROCK IT!"
MUSICOFF:
	.DB	"MUSIC SELECT: SHUT UP!"


;*********************************ENTITY CODE*********************************

	.DRW	HAND6 		;FOR THUMBS DOWN
	.DB	0
	.DRW	HAND5 		;FOR THUMBS UP
	.DB	0
	.DRW	HAND3
	.DB	0
	.DRW	DUMMY
	.DB	0
HANDY: 	.DRW	HAND1,HANDCODE	  ;EWAKE
	.DB	0,-1,0,0,0
	.DRW	HANDH,HHURT	  ;EHURT
	.DB	0,-1,0,0,0
	.DRW	-1,-1		  ;EFALL
	.DB	0,-1,0,0,0
	.DRW	-1,-1		  ;ECMD
	.DB	0,-1,0,0,0
	.DRW	HANDS,HTHROW	  ;EJUMP
	.DB	H'40,-1,0,0,0
	.DRW	HAND3,HOPEN	  ;EATTACK
	.DB	0,-2,H'30,H'40,H'33
	.DRW	-1,-1		  ;EDUCK
	.DB	0,-1,0,0,0
	.DRW	-1,-1		  ;ESTAND
	.DB	0,-1,0,0,0
	.DRW	HAND1,HCODE5	  ;EWALK
	.DB	0,-1,0,0,0

HANDCODE:
	.DB	GRAVITY,0
	.DB	FACE,RIGHT
	.DB	ZEROJOYX
	.DB	LOAD,60
	.DB	EQUAL  		;MUSIC IS OFF!
	.DRW	HCODE4
	.DRW	0
	.DB	FETCHREG,WORLD
	.DB	CASE
	.DRW	HCODE2,1
	.DRW	HCODE3,2	
	.DRW	HCODE2,3
	.DRW	HCODE3,4	
	.DRW	HCODE2,5
	.DRW	HCODE3,6	
	.DRW	HCODE2,7
	.DRW	HCODE3,8	
	.DRW	HCODE2,9
	.DRW	HCODE3,10  
	.DRW	HCODE2,11  
	.DRW	HCODE3,12  
	.DRW	HCODE2,13  
	.DRW	HCODE3,14  
	.DRW	HCODE2,15  
	.DRW	HCODE3A,18 	;BOSS ROOMS 
	.DRW	HCODE3A,19 	;BOSS ROOMS 
	.DRW	0	
HCODE2:	.DB	SOUND
	.DRW	GOOBSONG,GOOBBASS,GUTDRUM,0
	.DB	SKIP
	.DRW	HCODE4	
HCODE3:	.DB	SOUND
	.DRW	GUTSONG,GUTBASS,GUTDRUM,0
	.DB	SKIP
	.DRW	HCODE4	
HCODE3A:.DB	SOUND
	.DRW	0,0,STUBASS,GUTDRUM

HCODE4:	.DB	IDENTIFY
	.DRW	HERO0
	.DB	TARGET		;TARGET FALLERS ONLY
	.DRW	KILLER
	.DB	SETREG,0,0 	 
	.DB	STORE,50	;ZERO GRAB COUNT
	.DB	STORE,61	;ZERO COUNTER
	.DB	SETREG,96,0	;INITIAL BIRD Y LOCATION
	.DB	STORE,56

	.DB	FETCHREG,WORLD	;GRAB THIS WORLD NUMBER	
	.DB	CASE		;IF BOSS WORLD DON'T STORE
	.DRW	HCODE4A,18	
	.DRW	HCODE4A,19	
	.DRW	0	
	.DB	STORE,57
HCODE4A:.DB	JOYSTICK,0
	.DB	SETPAUSE,ON
	.DB	FETCHREG,WORLD
	.DB	CASE
	.DRW	HCODE4B,18		;IF BOSS WORLD SKIP SCORE	
	.DRW	HCODE4B,19		;IF SQUISHI SKIP SCORE	
	.DRW	0   
	.DB	SHOWSCORE,JOY1,16,1,0
	.DB	LOAD,50
	.DB	SHOWREG,20,1,0
HCODE4B:.DB	ACTIVATE,EWALK

HCODE5:	.DB	ENABLE,HURTING|ATTACKING|JUMPING
HCODE6:	.DB	ADDJOYX
	.DB	FETCHREG,WORLD
	.DB	NOTEQUAL
	.DRW	HCODE7
	.DRW	19
	.DB	ADDJOYX
	.DB	ACTIVE
	.DRW	HCODE7
	.DB	ID
	.DRW	49		;FOR SQUISHI GUYS
	.DB	ADDJOYX
	.DB	SKIP
	.DRW	HH80
HCODE7:	.DB	ADDJOYX
	.DB	BUTTON
	.DRW	HCODE6
	.DB	LEFT|RIGHT
	.DB	ADDJOYX
	.DB	SETMOM,0,-1
	.DB	SKIP
	.DRW	HCODE6

HTHROW: .DB	INSTRUCTIONS,18	
	.DB	ZEROJOYX
	.DB	ENABLE,HURTING
	.DB	FINISH
	.DB	FETCHREG,WORLD
	.DB	CASE
	.DRW	HATT12,18		;BOSS ROOM	
	.DRW	HATT12,19		;SQUISHI ROOM	
	.DRW	0
	.DB	LOAD,50
	.DB	EQUAL
	.DRW	HATT11B	
	.DRW	0

	.DB	LAUNCH,2,10,-14,0    	;THROW BODIES
	.DB	LOAD,50
	.DB	ADD
	.DRW	-1
	.DB	SHOWREG,20,1,0
	.DB	STORE,50

HATT11:	.DB	BUTTON	 	;STAY OPEN IF STILL PRESSING "A"
	.DRW	HATT11
	.DB	A_BUTTON
HATT11A:.DB	ACTIVATE,EWALK
HATT11B:.DB	NOISE
	.DRW	DUCKSND
	.DB	ACTIVATE,EWALK

HATT12:	.DB	LAUNCH,45,10,-14,0    	;THROW BOMBS
	.DB	ZEROJOYX
	.DB	SKIP
	.DRW	HATT11

HHURT: 	.DB	INSTRUCTIONS,11
	.DB	FETCHREG,ATTACKER
	.DB	CASE
	.DRW	HH50,5		  	;IF TIMER DO PICTURE
	.DRW	HH50,2			;END IF GOAL REACHED
	.DRW	HH50,39			;GONE OVER GOAL FROM JET
	.DRW	HH55,44			;BOSS BOMBS
	.DRW	HH55,46			;BOSS BOMBS
	.DRW	HH55,48			;BOSS BOMBS
	.DRW	HH55,50			;SQUISHI BOMBS
	.DRW	0
	.DB	NOISE
	.DRW	HYENSND
	.DB	ATTACKER		;IF BIRD, LOSE TEN SAVED MEN
	.DRW	HH20
	.DB	7
	.DB	LOAD,50
	.DB	COMPARE
	.DRW	HH10
	.DRW	3
	.DB	SETREG,0,0
	.DB	SKIP
	.DRW	HH15
HH10:	.DB	ADD
	.DRW	-3
HH15:	.DB	STORE,50
	.DB	SHOWREG,20,1,0	 	;SHOW NUMBER CAUGHT
	.DB	DELAY,7
	.DB	ACTIVATE,EWALK

HH20:	.DB	INSTRUCTIONS,7 
	.DB	LOAD,53			;SAVED NUMBER
	.DB	COMPARE
	.DRW	HH30
	.DRW	10
	.DB	SETREG,0,0
HH24:	.DB	STORE,53
HH25:	.DB	SHOWREG,20,26,0		;SHOW SAVED COUNT 
	.DB	DELAY,7	
	.DB	ACTIVATE,EWALK
HH30: 	.DB	INSTRUCTIONS,10
	.DB	LOAD,53        		
	.DB	ADD
	.DRW	-1
	.DB	STORE,53
	.DB	SHOWREG,20,26,0		;SHOW SAVED COUNT 
	.DB	NOISE
	.DRW	ADDIT

	.DB	LOAD,61		;COUNTER
	.DB	ADD
	.DRW	1
	.DB	STORE,61
	.DB	EQUAL
	.DRW	HH35
	.DRW	10	

	.DB	SKIP   
	.DRW	HH30

HH35:	.DB	SETREG,0,0
	.DB	STORE,61
	.DB	LOAD,53		;TO SHOW COUNT
	.DB	SKIP
	.DRW	HH25     
	
HH40: 	.DB	NOISE
	.DRW	FRAGSND
	.DB	DELAY,13
	.DB	DIE,0


HH50:	.DB	DISABLE,HURTING
	.DB	SETPAUSE,OFF
	.DB	HIDEALL
	.DB	BPALETTE
	.DRW	-1
	.DB	LOAD,53	     	 ;IS NUMBER SAVED EQUAL TO OR GREATER
	.DB	COMPAREDATA,25	 ;THAN TARGET AMOUNT?
	.DRW	HH60
	.DB	ANIMATION,12,RESERVE	;THUMBS DOWN
	.DB	SOUND
	.DRW	0,0,DIERIF1,DIERIF2
	.DB	SETMOM,0,-8
	.DB	DELAY,70
	.DB	SETMOM,0,0

	.DB	GETHEROS,JOY1  	;IF NO MORE HANDS, THEN END
	.DB	EQUAL
	.DRW	HH70
	.DRW	0
		
	.DB	ADDHEROS,JOY1,-1	;TAKE AWAY A HAND
	.DB	DELAY,50
	.DB	WORLD,16		;GO TO MESSAGE SCREEN

HH55:	.DB	SOUND
	.DRW	0,0,DIERIF1,DIERIF2
	.DB	WRITEVID
	.DRW	LOSTH		 ;LOST HAND
	.DB	17,8,0,16

HH56: 	.DB	HIDEALL
HH57:	.DB	SOUNDBUSY
	.DRW	HH57
	.DB	ON,ON,ON,ON

	.DB	LOAD,58		;BOSS IS DEAD
	.DB	EQUAL
	.DRW	HH58A
	.DRW	1
	.DB	GETHEROS,JOY1
	.DB	EQUAL
	.DRW	HH58
	.DRW	0

	.DB	ADDHEROS,JOY1,-1

	.DB	GETHEROS,JOY1
	.DB	SHOWREG,20,17,0	 ;SHOW HAND COUNT
	.DB	WRITEVID
	.DRW	SHOWLOST	 ;SHOW HAND COUNT
	.DB	20,9,0,11
	.DB	WRITEVID
	.DRW	LOSTA		 ;TRY AGAIN
	.DB	22,11,0,9


HH57B:	.DB	SETCOUNTER,180
HH57BA:	.DB	BUTTON
	.DRW	HH57C
	.DB	A_BUTTON|B_BUTTON
	.DB	ABOVECOUNT
	.DRW	HH57BA
	.DB	0

HH57C:	.DB	FETCHREG,WORLD
	.DB	EQUAL
	.DRW	HH57D
	.DRW	18
	.DB	WORLD,19 	;SQUISHI AGAIN!
HH57D:	.DB	WORLD,18	;BOSS ROOM, AGAIN


HH58A:	.DB	LOAD,57
	.DB	EQUAL
	.DRW	HH58D
	.DRW	18		;16 LAST BOSS WORLD	 
	.DB	DELAY,20
	.DB	WRITEVID
	.DRW	BOSSDED1 	;YOU'VE WON
	.DB	16,11,0,10
	.DB	WRITEVID
	.DRW	BOSSDED2       	;THAT BATTLE!
	.DB	18,10,0,12
	.DB	WRITEVID
	.DRW	BONUS       	;500 POINT BONUS!
	.DB	22,8,0,16
	.DB	ADDSCORE,JOY1
	.DRW	500
	.DB	SETREG,0,0 	;BOSS GOES TO ZERO
	.DB	STORE,58
	.DB	DELAY,27
	.DB	LOAD,57
	.DB	ADD
	.DRW	1
	.DB	STORE,57
HH58B:	.DB	SETCOUNTER,254 
HH58BA:	.DB	BUTTON
	.DRW	HH58C
	.DB	A_BUTTON|B_BUTTON
	.DB	ABOVECOUNT
	.DRW	HH58BA
	.DB	0

HH58C:	.DB	WORLD,16	;MESSAGE SCREEN

HH58D: 	.DB	INSTRUCTIONS,3
	.DB	TEXTWRITE
	.DRW	DEFEAT
	.DB	ADDHEROS,JOY1,5
SQUI1:	.DB	BUTTON
	.DRW	SQUI2
	.DB	A_BUTTON|B_BUTTON
	.DB	SKIP
	.DRW	SQUI1
SQUI2:	.DB	SETREG,19,0
	.DB	STORE,57
	.DB	WORLD,16	;MESSAGE/SQUISHI'S ROOM

DEFEAT:	.DB	-1
	.DRW	H'2188
	.DB	"   GREAT WORK!  "
	.DB	-2  
	.DRW	H'0040		;Y OFFSET	
	.DB	"YOU'VE DESTROYED"
	.DB	-2
	.DRW	H'0020		;Y OFFSET	
	.DB	"ALL OF SQUISHI'S"
	.DB	-2
	.DRW	H'0020		;Y OFFSET	
	.DB	"HENCH HANDS!    "
	.DB	-2
	.DRW	H'0040		;Y OFFSET	
	.DB	"YOU'VE EARNED 5 "
	.DB	-2
	.DRW	H'0020		;Y OFFSET	
	.DB	"EXTRA HANDS!    "
	.DB	-2
	.DRW	H'0040		;Y OFFSET	
	.DB	"NOW GET READY TO"
	.DB	-2
	.DRW	H'0020		;Y OFFSET	
	.DB	"FACE MR. EVIL   "
	.DB	-2
	.DRW	H'0020		;Y OFFSET	
	.DB	"SQUISHI HIMSELF!"
	.DB	0		


END:	.DB	BUTTON
	.DRW	END10
	.DB	A_BUTTON|B_BUTTON
	.DB	SKIP
	.DRW	END
END10:	.DB	WORLD,16	;LET'S THROW A PARADE


HH58:	.DB	WRITEVID
	.DRW	ERASE		 ;ERASE MESSAGE
	.DB	17,8,0,16
	.DB	SKIP
	.DRW	HH70

HH60:
	.DB	BPALETTE
	.DRW	-1
	.DB	ANIMATION,9,RESERVE	;THUMBS UP
	.DB	SOUND
	.DRW	0,0,WINRIF1,WINRIF2
	.DB	SOLIDSTATE,OFF
	.DB	SETMOM,0,-8
	.DB	DELAY,70
	.DB	SETMOM,0,0
	.DB	DELAY,50

HH63:	.DB	INSTRUCTIONS,9 
	.DB	LOAD,51		;DO EXTRA TIME BONUS
	.DB	EQUAL
	.DRW	HH64	
	.DRW	0
	.DB	ADD
	.DRW	-1
	.DB	SHOWREG,16,26,0
	.DB	STORE,51
	.DB	NOISE
	.DRW	ADDIT
	.DB 	ADDSCORE,JOY1
	.DRW	10
	.DB	SHOWSCORE,JOY1,16,1,0
	.DB	SKIP
	.DRW	HH63

HH64: 	.DB	SOUNDBUSY		;WAIT FOR WINNING THEME TO
	.DRW	HH64	   		;END
	.DB	ON,ON,ON,ON
	.DB	DELAY,40
			
HH65:	.DB	FETCHREG,WORLD 	       	;TO DETERMINE END OF GAME
	.DB	CASE
	.DRW	HH66,15			;PARADE SCREEN
	.DRW	HH67,5			;GO TO BOSS ROOM
	.DRW	HH67,10			;GO TO BOSS ROOM
	.DRW	0

	.DB	ADD
	.DRW	1
	.DB	STORE,57
	.DB	WORLD,16		;PROCEED TO MESSAGE SCREEN

HH66: 	.DB	SETREG,18,0
	.DB	STORE,57		
HH67:	.DB	WORLD,18		;BOSS ROOM


HH70:	.DB	ANIMATION,3,RESERVE	;DISAPPEAR
HH71:
	.DB	WRITEVID
	.DRW	GAMEEND1	 ;END GAME
	.DB	15,8,0,16
	.DB	WRITEVID
	.DRW	GAMEEND2	 ;END GAME
	.DB	21,8,0,16
	.DB	WRITEVID
	.DRW	GAMEEND3	 ;END GAME
	.DB	23,8,0,16

	.DB	SETCOUNTER,200
HH74: 	.DB	BUTTON
	.DRW	HH75
	.DB	SELECT|START|A_BUTTON|B_BUTTON
	.DB	ABOVECOUNT
	.DRW	HH74
	.DB	1

HH75:	.DB	FETCHREG,WORLD
	.DB	NOTEQUAL
	.DRW	HH75A
	.DRW	18
	.DB	SETHEROS,JOY1,2
	.DB	WORLD,18		;BACK TO BOSS	

HH75A:	.DB	FETCHREG,WORLD
	.DB	STORE,57		;GET WORLD

HH76: 	.DB	SETHEROS,JOY1,2
	.DB	WORLD,16		;MESSAGE	


HH80:	.DB	HURT,0,ID
	.DRW	47		;GET RID OF OBSTACLE	
	.DB	ACTIVE
	.DRW	HH80
	.DB	ID
	.DRW	47
	.DB	INSTRUCTIONS,4 
	.DB	SOUND
	.DRW	0,0,WINRIF1,WINRIF2
	.DB	ANIMATION,9,RESERVE
	.DB	SETMOM,0,0
	.DB	DISABLE,ALL
	.DB	TEXTWRITE
	.DRW	ENDING
HH81:	.DB	SOUNDBUSY
	.DRW	HH81
	.DB	ON,ON,ON,ON
HH85:	.DB	BUTTON
	.DRW	HH90
	.DB	A_BUTTON|B_BUTTON
	.DB	SKIP
	.DRW	HH85

HH90:	.DB	SETREG,16,0
	.DB	STORE,57
 	.DB	WORLD,16		;MESSAGE SCREEN



GAMEEND1:
	 .DB	" NO MORE HANDS  "
GAMEEND2:
	 .DB	"PRESS ANY BUTTON"
GAMEEND3:
	 .DB	"  TO CONTINUE   "
LOSTH:	 .DB	"YOU LOST A HAND!"
ERASE:	 .DB	"                "
LOSTA:   .DB	"TRY AGAIN"
SHOWLOST:.DB	"HANDS LEFT:"
BOSSDED1:
	.DB	"YOU'VE WON"
BOSSDED2:
	.DB	"THAT BATTLE!"
BONUS:	.DB	"500 POINT BONUS!"
PLUS:	.DB	"      PLUS      "
BONUS2:	.DB	" 5 EXTRA HANDS! "
CLOSE:	.DB	"AND YOU WERE SO CLOSE"


HOPEN:
	.DB	ENABLE,HURTING|JUMPING
	.DB	BUTTON
	.DRW	HOPEN
	.DB	B_BUTTON
	.DB	ACTIVATE,EWALK
;------------------------------------------------------		

CATCHER1:
	.DRW	CATCH1,CATCHCODE
	.DB	0,-2,H'20,H'30,H'21	  	

	
CATCHCODE:
	.DB	GRAVITY,0
	.DB	FRICTION,96,0
	.DB	FACE,RIGHT
	.DB	TARGET
	.DRW	SUPPLY

CAT10:	.DB	ATTACKED
	.DRW	CAT10A
	.DB	SETMOM,8,0
	.DB	TESTSOLID
	.DRW	CAT20
	.DB	3,0
	.DB	SKIP
	.DRW	CAT10

CAT10A:	.DB	INSTRUCTIONS,8
	.DB	SETMOM,0,0
	.DB	PALCLR,21,H'27
	.DB	PALCLR,22,H'1C
	.DB	PALCLR,23,H'3F
	.DB	SPALETTE
	.DRW	-1
	.DB	SKIP
	.DRW	CAT10

CAT20:	.DB	ATTACKED
	.DRW	CAT20A
	.DB	SETMOM,-8,0    
	.DB	TESTSOLID
	.DRW	CAT10
	.DB	-3,0
	.DB	SKIP
	.DRW	CAT20	

CAT20A:	.DB	INSTRUCTIONS,6
	.DB	SETMOM,0,0
	.DB	PALCLR,21,H'27
	.DB	PALCLR,22,H'1C
	.DB	PALCLR,23,H'3F
	.DB	SPALETTE
	.DRW	-1
	.DB	SKIP
	.DRW	CAT20
	
	
;----------------------------------------------------

OBSTACLE:
	.DRW	OBSTS,OBSCODE
	.DB	0,-2,H'00,H'30,H'00	  	

OBSCODE:
	.DB	GRAVITY,0
	.DB	FRICTION,20,0
	.DB	TARGET
	.DRW	SUPPLY


OBS10:	.DB	FETCHREG,PARAM2
	.DB	EQUAL
	.DRW	OBS10B
	.DRW	1	
OBS10AA:.DB	ATTACKED
	.DRW	OBS10A	
 	.DB	SETMOM,16,0
	.DB	TESTSOLID
	.DRW	OBS20
	.DB	3,0
	.DB	SKIP
	.DRW	OBS10AA
OBS10A:	.DB	SETMOM,0,0
	.DB	SKIP
	.DRW	OBS10AA
OBS10B:	.DB	BVIRTUAL
	.DRW	OBS30
	.DRW	124
	.DB	SETMOM,0,32
	.DB	SKIP
	.DRW	OBS10AA

OBS20:	.DB	FETCHREG,PARAM2
	.DB	EQUAL
	.DRW	OBS20B
	.DRW	1	
OBS20AA:.DB	ATTACKED
	.DRW	OBS20A 
	.DB	SETMOM,-16,0    
	.DB	TESTSOLID
	.DRW	OBS10
	.DB	-3,0
	.DB	SKIP
	.DRW	OBS20AA	
OBS20A:	.DB	SETMOM,0,0
	.DB	SKIP
	.DRW	OBS20AA
OBS20B:	.DB	BVIRTUAL
	.DRW	OBS30
	.DRW	120
	.DB	SETMOM,0,32
	.DB	SKIP
	.DRW	OBS20AA

OBS30:	.DB	GOTO,64,80
	.DB	SKIP
	.DRW	OBS10AA

;------------------------------------------------------

;----------------------------------------------
HANDBALL:
	.DRW	HASHTS,SHOOT
	.DB	0,-2,0,H'01,0


	.DRW	ZAPS1
	.DB	0
BULLY:	.DRW	MANTWRL,SHOOT
	.DB	0,-2,0,H'01,0
	.DRW	-1,GRABBED
	.DB	0,-1,0,0,0

SHOOT:
	.DB	INSTRUCTIONS,9
	.DB	GRAVITY,0
	.DB	IDENTIFY
	.DRW	SUPPLY
	.DB	TARGET
	.DRW	ENEMY|DEADLY
	.DB	SOLIDSTATE,OFF
	.DB	ENABLE,HURTING
SHT10:	.DB	SETMOM,0,-56
	.DB	ATTACKED 		;IF HIT BONUS BIRD, THEN DIE
	.DRW	SAFEDIE
	.DB	YVISUAL
	.DRW	SHT20
	.DB	40
	.DB	SKIP
	.DRW	SHT10 

SHT20:	.DB	SETMOM,0,0 
	.DB	FETCHREG,WORLD
	.DB	CASE
	.DRW	SAFEDIE,18		;BOSS WORLD	
	.DRW	SAFEDIE,19		;SQUISHI ROOM
	.DRW	0	
	.DB	ADDSCORE,JOY1
	.DRW	-5
	.DB	SHOWSCORE,JOY1,16,1,0
;	.DB	LOAD,24			;ADD TO DEATH COUNTER
;	.DB	ADD
;	.DRW	1
;	.DB	STORE,24
	.DB	ANIMATION,3,RESERVE
	.DB	NOISE
	.DRW	FALSND
	.DB	DELAY,8
	.DB	DIE,0

GRABBED:.DB	INSTRUCTIONS,6
	.DB	DISPLAY,BEHIND
	.DB	FETCHREG,ATTACKER
	.DB	CASE
	.DRW	SHT20,20	;HE HIT PLATFORM
	.DRW	SHT20,14	;HE HIT OBSTACLE
	.DRW	SHT20,28	;HE HIT SNAKE
	.DRW	0	

	.DB	INSTRUCTIONS,12     
	.DB	SETMOM,0,0
	.DB	LINK,CENTERED,0,ID	  	;LINK TO CATCHER
	.DRW  	6
	.DB	NOISE
	.DRW	INCAT
GRAB10:	.DB	INSTRUCTIONS,9
	.DB	LOAD,53
	.DB	ADD
	.DRW	1
	.DB	STORE,53
	.DB	SHOWREG,20,26,0		;SAVED COUNT	
	.DB	LOAD,26			;SAVER COUNT
	.DB	ADD
	.DRW	1
	.DB	STORE,26
	.DB	LOAD,53
	.DB	COMPAREDATA,25
	.DRW	TIM10
	.DB	DIE,0

;------------------------------------------------------------
	
	.DRW	COLLS
	.DB	0
	.DRW	DMANS
	.DB	0
	.DRW	DUCKS
	.DB	0
DUCKY:	.DRW	DUMMY,BIRDCODE
	.DB	0,-2,0,0,0
	.DRW	-1,BIRDHURT
	.DB	0,-1,0,0,0	

BIRDCODE:
	.DB	ACTIVE
	.DRW	SAFEDIE
	.DB	ID
	.DRW	7
	.DB	ACTIVE
	.DRW	SAFEDIE
	.DB	ID
	.DRW	39		;IF JET, DON'T APPEAR
	.DB	GRAVITY,0
	.DB	FRICTION,0,0
	.DB	SOLIDSTATE,OFF
	.DB	IDENTIFY
	.DRW	DEADLY
	.DB	TARGET
	.DRW	HERO0
	.DB	ENABLE,HURTING

	.DB	RANDOM
	.DRW	BIRD20
	.DB	127
	.DB	LOAD,56	       		;BIRD Y LOCATION
	.DB	GOTO,69,REGISTER
	.DB	SETMOM,2,0
	.DB	ANIMATION,3,RESERVE
BIRD10:	.DB	SETMOM,16,0
	.DB	ATTACKED
	.DRW	BIRD50
	.DB	XVISUAL
	.DRW	BIRD10
	.DB	182  
	.DB	SKIP
	.DRW	BIRD27
	

BIRD20:	.DB	LOAD,56
	.DB	GOTO,179,REGISTER
	.DB	SETMOM,-2,0
	.DB	ANIMATION,3,RESERVE
BIRD25:	.DB	SETMOM,-16,0
	.DB	ATTACKED
	.DRW	BIRD50
	.DB	XVISUAL
	.DRW	BIRD27
	.DB	69     
	.DB	SKIP
	.DRW	BIRD25

BIRD27:	.DB	LOAD,56	  	;GET LOWER EACH TIME
	.DB	EQUAL
	.DRW	BIRD28
	.DRW	160
	.DB	ADD
	.DRW	16
	.DB	STORE,56
	.DB	DIE,0	
BIRD28:	.DB	SETREG
	.DRW	184
	.DB	STORE,56
	.DB	DIE,0

BIRDHURT:
BIRD30:	.DB	ANIMATION,9,RESERVE		;EXPLOSION
	.DB	NOISE
	.DRW	BOMBSND
	.DB	SETMOM,0,0
	.DB	DELAY,9
	.DB	ANIMATION,6,RESERVE
	.DB	IDENTIFY
	.DRW	SUPPLY

BIRD35:	.DB	SETMOM,0,-16	    		;FLY UP AND LEAVE

	.DB	ATTACKER
	.DRW	BIRD40
	.DB	6	 		;CATCHER ONE

	.DB	YVISUAL
	.DRW	SAFEDIE
	.DB	20
	.DB	SKIP
	.DRW	BIRD35	     


BIRD40:	.DB	INSTRUCTIONS,5
	.DB	NOISE	   	;HE'S IN CATCHER
	.DRW	INCAT
	.DB	CREATE,32,12,160,0		;LAUNCH FREE HAND
	.DB	DIE,0	    

BIRD50:	.DB	DISABLE,HURTING
	.DB	ANIMATION,9,RESERVE
	.DB	SETREG,96,0
	.DB	STORE,56
	.DB	DIE,0
;---------------------------------------------------

;*********************************************************************
;YOU CAN COMMENT OUT ANY THESE DEFINES AND THE REQUIRED CODE WILL
;NOT ASSEMBLE.  USE THIS TO FREE UP MEMORY IN EMERGENCY CASES.

DEFINE( XDISPLAY,-1)
DEFINE( XADDSCORE,-1)
DEFINE( XSETSCORE,-1)
DEFINE( XSCORE,-1)
DEFINE( XVICTIM,-1)
DEFINE( XDISSCROLL,-1)
DEFINE( XSHOWSCORE,-1)
DEFINE( XSHOWREG,-1)
DEFINE( XEDGEMOM,-1)
DEFINE( XXVIRTUAL,-1)		; (DON'T COMMENT OUT UNLESS YVIRTUAL ALSO)
DEFINE( XYVIRTUAL,-1)
DEFINE( XBVIRTUAL,-1)
DEFINE( XTEXTWRITE,-1)
DEFINE( XWAKEUP,-1)
DEFINE( XREVMOM,-1)
DEFINE( XADDIDENTIFY,-1)
DEFINE( XNOTSTANDING,-1)
DEFINE( XMOVEOVER,-1)
DEFINE( XLINKFACE,-1)
DEFINE( XPUTSCORE,-1)
DEFINE( XGETSCORE,-1)

DEFINE( XUNIDENTIFY,-1)
DEFINE( XWIPEOUT,-1)
DEFINE( XUSERSUB,-1)
DEFINE( XCHARSET,-1)
DEFINE( XREADCHAR,-1)
DEFINE( XSTATINFO,-1)
DEFINE( XPRESERVE,-1)
DEFINE( XREGNOISE,-1)
DEFINE( XNEXTLINKED,-1)
DEFINE( XSTACKHURT,-1)
DEFINE( XSTACKWAKE,-1)		;CAN'T ENABLE THIS WITHOUT XSTACKHURT
DEFINE( XSTATSLEEP,-1)
DEFINE( XORIT,-1)
DEFINE( XORDATA,-1)
DEFINE( XSETCOL,-1)
DEFINE( XCOMPAREDATA,-1)
DEFINE( XRGB,-1)
DEFINE( XSETSTATPAL,-1)
DEFINE( XREGLOAD,-1)
DEFINE( XLOWEXEC,-1)
DEFINE( XREGLAUNCH,-1)
DEFINE( XWHOSTHERE,-1)
DEFINE( XALIGNXY,-1)
DEFINE( XREGSTORE,-1)
DEFINE( XBLOAD,-1)
DEFINE( XLINKMOM,-1)
DEFINE( XPEEK,-1)
DEFINE( XPOKE,-1)
DEFINE( XTRANSLATE,-1)
DEFINE( XGETROW,-1)
DEFINE( XSTACK,-1)		
DEFINE( XUNSTACK,-1)		;CAN'T ENABLE THIS WITHOUT UNLINK ENABLED.
DEFINE( XTOPSTACK,-1)		;CAN'T ENABLE THIS WITHOUT UNSTACK ENABLED.

;***************** WORLD SPECIFICATION INFO ************************
;THE WORLDS ARE COMPOSED OF BACKGROUND SPECIFICATIONS (NAMES) STRUNG
;TOGETHER.   A WORLD SHOULD BE THOUGHT OF
;AS A SINGLE OR MULTIPLE BACKGROUNDS LOGICALLY LINKED TOGETHER
;TO MAKE A SINGLE SCROLLABLE ENTITY.  BACKGROUNDS ARE JUST DEFFINITIONS
;OF WHAT DATA TO USE IN A PARTICULAR SPOT IN A WORLD.  
;WHEN YOUR ENTITY IS RUNNING THROUGH A WORLD, THE DATA USED TO MAKE
;THAT WORLD IS CHOSEN BY INDEXING INTO THIS LIST AND FINDING OUT
;WHERE IN WHAT BACKGROUND YOUR ENTITY IS.   THE REMAINING DATA FOR
;THE WORLD (PALETTES, CHARACTER SET, WORLD COMMANDS) IS TAKEN FROM THE
;INDIVIDUAL TABLES AND THERE IS A SINGLE ENTRY FOR EACH WORLD.  YOU
;CAN REUSE BACKGROUNDS AS MANY TIMES AS YOU WANT.  THE LENGTH LIMIT
;FOR A WORLD IS 8192 COLUMNS (256 FULL 32 WIDE SCREENS).  YOU MAY HAVE
;AS MANY ENTRIES IN THE LIST AS YOU WANT.  

;****************** FORMAT IF STRIP MODE ******************
;	COMMENT OUT "BLOCKMODE" DEFINE IN KUNGSUBS.ASM
;THE MINIMUM WIDTH FOR A STRIP IS 4 AND ALL STRIPS MUST BE A MULTIPLE OF 
;4 WIDE (4, 8, 12, 16, ETC.)  YOU CANNOT SCROLL VERTICALLY.  IF YOU HAVE
;A TOP OF SCREEN STATUS LINE, A GOOD PRATICAL HEIGHT FOR A STRIP IS 24.
;THE BACKGROUND DEFFINITION CONSISTS OF A SERIES OF STRIP NAMES TERMINATED
;WITH -1.  HERE'S AN EXAMPLE:
;	.DRW	STRIP1,STRIP2,STRIP1,STRIP2,STRIP3,-1
;
;*******************************************************************

;****************** FORMAT IF BLOCK MODE ******************
;	REMOVE COMMENT FROM THE DEFINE FOR "BLOCKMODE" IN KUNGSUBS.ASM
;ALL BLOCKS ARE 8 WIDE BY 8 HIGH BACKGROUNDS IN 1 BY 1 MODE.  YOU CAN
;HAVE A TOP OF SCREEN STATUS LINE BUT THEN YOU WILL NOT BE ALLOWED TO
;SCROLL VERTICALLY AND YOU SHOULD USE 3 BLOCKS (24 HIGH).  IF YOU WANT
;TO SCROLL VERTICALLY, USE 4 BLOCKS HIGH MINIMUM AND YOU CAN'T HAVE
;A TOP OF SCREEN STATUS BAR.  THE BACKGROUND DEFFINITION STARTS
;WITH A BYTE WHICH SPECIFIES THE WIDTH IN BLOCKS (4 MINIMUM, 255 MAX).
;THIS IS FOLLOWED BY A BYTE THAT SPECIFIES THE HEIGHT IN BLOCKS 
;(1 MINIMUM, 29 MAXIMUM).  THEN THE BLOCK NAMES ARE SPECIFIED IN ROWS.  
;HERE'S AN EXAMPLE:
;	.DB	5		;5 BLOCKS WIDE
;	.DB	6		;6 BLOCKS HIGH
;	.DRW	BLOCK1,BLOCK2,BLOCK3,BLOCK1,BLOCK3 ;TOP 8 ROWS OF BACKGROUND
;	.DRW	BLOCK5,BLOCK2,BLOCK5,BLOCK2,BLOCK5
;	.DRW	BLOCK6,BLOCK2,BLOCK6,BLOCK2,BLOCK5
;	.DRW	BLOCK7,BLOCK2,BLOCK7,BLOCK2,BLOCK5
;	.DRW	BLOCK8,BLOCK2,BLOCK8,BLOCK2,BLOCK5
;	.DRW	BLOCK9,BLOCK2,BLOCK2,BLOCK2,BLOCK2 ;BOTTOM 8 ROWS OF BACKGROUND
;
;AN ALTERNATE FORMAT IS AVAILABLE TO MAKE THE BLOCK SPECIFICATIONS TAKE
;ONLY 1 BYTE.  REMOVE THE COMMENT FROM "INDIRECT" IN KUNGSUBS.ASM AND
;YOUR BACKGROUND TABLE WILL TAKE 1 BYTE PER BLOCK INSTEAD OF 1 WORD.
;THE BYTE IS THE BLOCK NUMBER (0-255) TO USE.  THEN YOU MUST DEFINE
;A TABLE CALLED "BLOCKS" WHICH HAS 1 WORD FOR EACH BLOCK NUMBER YOU WANT
;TO BE ABLE TO USE.

;THIS TABLE IS THE POINTER TO THE BACKGROUND LIST FOR A GIVEN WORLD.

USE_BACK:			

	.DRW	BOOTBAK	     	;0
	.DRW	HONEBAK		;1 I-BEAM
	.DRW	HFIVBAK		;2 PARACHUTE
	.DRW	HEIGBAK		;3 PIPES
	.DRW	HFORBAK		;4 LADDER
	.DRW	HTWOBAK		;5 JUNGLE
	.DRW	HNINBAK		;6 MOUTH
	.DRW	HTHRBAK		;7 CANNON
	.DRW	HTENBAK		;8 FIRE
	.DRW	HSEVBAK		;9 BUNGEE/BIG FOOT
	.DRW	HSIXBAK		;10 PLATFORMS 
	.DRW	HELEBAK		;11 TRASH CANS  
	.DRW	HTHIBAK		;12 TNT 
	.DRW	HTWEBAK		;13 SNAKE 
	.DRW	HFOUBAK		;14 HORNS
	.DRW	HFIFBAK		;15 POPCORN
	.DRW	MESSBAK		;16 MESSAGES
	.DRW	ENDBAK		;17 ENDING SCREEN
	.DRW	BOSSBAK		;18 BOSSES
	.DRW	SQUIBAK		;19 EVIL SQUISHI
	.DRW	CREDBAK		;20 CREDITS
				 
.EQU	MAX_WORLD,21 		;FIRST ILLEGAL WORLD # FOR CHEAT MODE

.EQU	OVERWORLD,-1		;FOR GAME OVER USE BOOT SCREEN FOR NOW

INCLUDE( XBACKS.ASM)	;THE BACKGROUNDS ARE IN HERE SO VANCE AND I CAN WORK
			;ON KUNGTAB TOGETHER.

;THIS TABLE HAS THE ENTRY STARTING TEXT COLUMN WITHIN A GIVEN BACKGROUND.
;USE THIS TO START THE WORLD AT A PLACE OTHER THAN THE LEFT OF THE
;BACKGROUND.  THERE MUST BE AN ENTRY FOR EACH WORLD.  STARTING AT
;THIS OFFSET DOES NOT LIMIT THE LEFT OF THE SCREEN TO THIS COLUMN, THE
;HERO CAN WALK LEFT IF THE BACKGROUND WILL ALLOW THIS SCROLLING.

DEFINE( NOLEFT,-1)		;REMOVE COMMENT TO ELIMINATE TABLE ISTART_BACK
				;(WILL ALWAYS BE 0).

START_TOP:			;FOR Y STARTING ROW.  TOP=0.  
	.DB	5		;0
	.DB	5		;1
	.DB	5		;2
	.DB	5		;3
	.DB	5		;4
	.DB	5		;5
	.DB	5		;6
	.DB	5		;7
	.DB	5 		;8
	.DB	5		;9
	.DB	5 		;10
	.DB	5 		;11
	.DB	5 		;12
	.DB	5 		;13
	.DB	5 		;14
	.DB	5 		;15
	.DB	5 		;16
	.DB	5 		;17
	.DB	5 		;18
	.DB	5 		;19
	.DB	5 		;20

;THIS TABLE HAS THE BACKGROUND CHARACTER SET TO USE FOR A GIVEN WORLD.  SINCE
;THE SPRITES RUN IN 2 HIGH MODE, THEY ALWAYS USE BOTH SETS IN THIS BANK.
;YOU CAN PUT -1 HERE FOR SPECIAL WORLDS THAT SHOULD KEEP THE CURRENT
;CHARACTER SET.

USE_BCHRS:			
	.DB 	12		;BOOT 0	   CHANGE BACK TO ZERO FOR GRAPHICS
	.DB	0		;1
	.DB	6		;2
	.DB	4		;3
	.DB	4		;4
	.DB	2		;5
	.DB	0		;6
	.DB	2		;7
	.DB	0		;8
	.DB	6		;9	
	.DB	2		;10	
	.DB	10		;11	
	.DB	10		;12
	.DB	10		;13	
	.DB	6		;14
	.DB	4		;15
	.DB	8		;16
	.DB	12		;17
	.DB	12		;18
	.DB	14		;19
	.DB	12		;20

;THIS TABLE HAS THE BACKGROUND PALETTE TO USE FOR A GIVEN WORLD #.

USE_BPAL:			;NAME OF BAKGROUND PALETTE TO USE

	.DRW	BOOTPAL		;BOOT 0
	.DRW	ONEPAL		;1
 	.DRW	FIVPAL		;2
	.DRW	EIGPAL		;3
	.DRW	FORPAL		;4
	.DRW	TWOPAL		;5
	.DRW	NINPAL		;6
 	.DRW	THRPAL		;7
	.DRW	TENPAL		;8
	.DRW	SEVPAL		;9
	.DRW	THRPAL		;10
	.DRW	ELEPAL		;11
	.DRW	THIPAL		;12
	.DRW	TWEPAL		;13
	.DRW	FOUPAL		;14
	.DRW	FIFPAL		;15
	.DRW	MESPAL		;16
	.DRW	ENDPAL		;17
	.DRW	BOSSPAL		;18
	.DRW	SQUPAL		;19
	.DRW	BOOTPAL		;20

;THIS TABLE HAS THE SPRITE PALETTE TO USE FOR A GIVEN WORLD #.

USE_SPAL:			;NAME OF SPRITE PALETTE TO USE

	.DRW	BOOTSPAL       	;BOOT 0
	.DRW	ONESPAL	;1	
	.DRW	FIVSPAL	;2
	.DRW	EIGSPAL	;3 
	.DRW	FORSPAL	;4
	.DRW	TWOSPAL	;5	
	.DRW	NINSPAL	;6
	.DRW	THRSPAL	;7
	.DRW	TENSPAL	;8
	.DRW	SEVSPAL	;9
	.DRW	FIVSPAL	;10
	.DRW	ELESPAL	;11	
	.DRW	THISPAL	;12
	.DRW	TWESPAL	;13	
	.DRW	FOUSPAL	;14
	.DRW	FIFSPAL	;15
	.DRW	MESSPAL	;16
	.DRW	ENDSPAL	;17
	.DRW	BOSSSPAL;18
	.DRW	SQUSPAL ;19
	.DRW	MESSPAL ;20

;THESE ARE THE LEFT AND RIGHT POINTS ON SCREEN AT WHICH TO SCROLL.
;THE FIRST IS LEFT, THE SECOND IS RIGHT.  

.EQU	LEFTSCROLL,96		;MAX IS 120!
.EQU	RIGHTSCROLL,160		;MINIMUM IS 136!

;THESE ARE THE TOP AND BOTTOM POINTS ON SCREEN AT WHICH TO SCROLL.  THEY
;ARE ONLY REQUIRED FOR BLOCK MODE SINCE STRIP MODE CAN'T SCROLL VERTICALLY.

.EQU	TOPSCROLL,120
.EQU	BOTSCROLL,176

;**************************************************************************		
;THIS TABLE SPECIFIES THE LOCATION IN ROM OF THE LAUNCH AND
;SCROLL CONTROL TABLES TO USE FOR  EACH WORLD.  THESE ARE THE COMMANDS
;ABOVE F0.

USE_TABLE:			;THE TABLE TO USE FOR EACH WORLD NUMBER.
	.DRW	BOOTTAB		;BOOT 0
	.DRW	HONETAB		;1
	.DRW	HFIVTAB		;2
	.DRW	HEIGTAB		;3
	.DRW	HFORTAB		;4
	.DRW	HTWOTAB		;5
	.DRW	HNINTAB		;6
	.DRW	HTHRTAB		;7
	.DRW	HTENTAB		;8
	.DRW	HSEVTAB		;9
	.DRW	HSIXTAB		;10
	.DRW	HELETAB		;11
	.DRW	HTHITAB		;12
	.DRW	HTWETAB		;13
	.DRW	HFOUTAB		;14
	.DRW	HFIFTAB		;15
	.DRW	MESSTAB		;16
	.DRW	ENDTAB		;17
	.DRW	BOSSTAB		;18
	.DRW	SQUITAB		;19
	.DRW	CREDTAB		;20

;THIS TABLE SPECIFIES THE LOCATION IN ROM OF THE ENTITY COMMAND TABLES
;TO USE FOR EACH WORLD.  THESE ARE THE COMMANDS BELOW F0.

USE_CTABLE:
	.DRW	NULLTAB		;BOOT 0
	.DRW	NULLTAB		;1
	.DRW	NULLTAB		;2
	.DRW	NULLTAB		;3
	.DRW	NULLTAB		;4
	.DRW	NULLTAB		;5
	.DRW	NULLTAB		;6
	.DRW	NULLTAB		;7
	.DRW	NULLTAB		;8
	.DRW	NULLTAB		;9
	.DRW	NULLTAB		;10
	.DRW	NULLTAB		;11
	.DRW	NULLTAB		;12
	.DRW	NULLTAB		;13
	.DRW	NULLTAB		;14
	.DRW	NULLTAB		;15
	.DRW	NULLTAB		;16
	.DRW	NULLTAB		;17
	.DRW	NULLTAB		;18
	.DRW	NULLTAB		;19
	.DRW	NULLTAB		;20

;THESE ARE THE CONTROL TABLES.   THEY USE THE 4 BYTE COMMAND FORMAT
;SPECIFIED IN KUNGFU.ASM EXCEPT THAT EACH MUST BE PRECEEDED WITH 
;A COLUMN NUMBER (MAKING 5 BYTES PER COMMAND).  YOU CAN ONLY PUT 
;1 COMMAND ON A COLUMN.  YOU CAN'T PUT A COMMAND ON COLUMN 255 OR 0.

;EACH TABLE MUST BEGIN WITH THE FOLLOWING:
;	.DRW	0,0,0,0

;EACH TABLE MUST END THE FOLLOWING:
;	.DRW	-1,0

;THIS IS THE BOOT SCREEN'S COLUMN COMMAND TABLE.


;				LEVEL 0

BOOTTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,0,7,0,-1,-1		;LAUNCH KEY MONITOR
	.DRW	-1,0	 			

HONETAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,45,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    13
      	.DB	H'F0,6,13,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			



HTWOTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,50,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    15
      	.DB	H'F0,6,14,0,-1,-1		;LAUNCH CATCHER
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HTHRTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,20,40,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    12
      	.DB	H'F0,14,14,0,-1,-1		;LAUNCH OBSTACLE
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HFORTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,20,60,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HFIVTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,50,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    9
      	.DB	H'F0,14,14,0,-1,-1		;LAUNCH OBSTACLE
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			

HSIXTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,40,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    9
      	.DB	H'F0,20,13,0,-1,-1		;LAUNCH PLATFORM
	.DRW    11
      	.DB	H'F0,20,17,0,-1,-1		;LAUNCH PLATFORM
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    16
      	.DB	H'F0,20,21,0,-1,-1		;LAUNCH PLATFORM
	.DRW    20
      	.DB	H'F0,20,25,0,-1,-1		;LAUNCH PLATFORM
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HSEVTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,10,50,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    9
      	.DB	H'F0,24,16,0,-1,-1		;LAUNCH FOOT
	.DRW    13
      	.DB	H'F0,6,13,0,-1,-1		;LAUNCH CATCHER
	.DRW    15
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			

HEIGTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,60,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			



HNINTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,50,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW	9
      	.DB	H'F0,18,14,0,-1,-1		;LAUNCH MOUTH
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			

HTENTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,50,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    3
      	.DB	H'F0,17,7,0,-1,-1		;LAUNCH FLAME MAKER
;	.DRW    10
;      	.DB	H'F0,14,14,0,-1,-1		;LAUNCH OBSTACLE
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    22
      	.DB	H'F0,14,18,0,-1,-1		;LAUNCH OBSTACLE
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HELETAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,65,-1,-1		;LAUNCH TRASH MAKER
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    20
      	.DB	H'F0,14,21,0,-1,-1		;LAUNCH OBSTACLE
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HTWETAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,35,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    12
      	.DB	H'F0,6,12,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    16
      	.DB	H'F0,28,16,1,-1,-1		;LAUNCH BUMPER 
	.DRW    17
      	.DB	H'F0,28,18,0,-1,-1		;LAUNCH BUMPER 
	.DRW    18
      	.DB	H'F0,28,20,0,-1,-1		;LAUNCH BUMPER 
	.DRW    19
      	.DB	H'F0,28,22,2,-1,-1		;LAUNCH BUMPER 
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HTHITAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,55,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    9
      	.DB	H'F0,14,13,1,-1,-1		;LAUNCH OBSTACLE
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    18
      	.DB	H'F0,14,20,1,-1,-1		;LAUNCH OBSTACLE
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


HFOUTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,60,-1,-1		;LAUNCH PEOPLE MAKER
	.DRW    9
      	.DB	H'F0,14,13,1,-1,-1		;LAUNCH OBSTACLE
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			

HFIFTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    2
      	.DB	H'F0,4,9,60,-1,-1		;65 LAUNCH PEOPLE MAKER
	.DRW    13
      	.DB	H'F0,6,10,0,-1,-1		;LAUNCH CATCHER
	.DRW    14
      	.DB	H'F0,1,26,0,-1,-1		;LAUNCH HAND
	.DRW    25
      	.DB	H'F0,5,10,240,-1,-1		;LAUNCH TIMER
	.DRW	-1,0	 			


MESSTAB:		;32 WIDE

	.DRW	0,0,0,0		
	.DRW	2
      	.DB	H'F0,27,10,0,-1,-1		;LAUNCH MESSAGE MAKER
	.DRW	9
      	.DB	H'F0,38,16,0,-1,-1		;LAUNCH WALKER
	.DRW	-1,0	 	

ENDTAB:		;32 WIDE

	.DRW	0,0,0,0		
	.DRW	1
      	.DB	H'F0,35,29,0,-1,-1		;LAUNCH HAPPY PEOPLE
	.DRW	2
      	.DB	H'F0,36,25,0,-1,-1		;LAUNCH HAND

	.DRW	3
      	.DB	H'F0,37,16,5,-1,-1		;LAUNCH FAN
	.DRW	4
      	.DB	H'F0,37,10,6,-1,-1		;LAUNCH FAN
	.DRW	6
      	.DB	H'F0,37,22,9,-1,-1		;LAUNCH FAN
	.DRW	10	   
      	.DB	H'F0,37,10,8,-1,-1		;LAUNCH FAN
	.DRW	11
      	.DB	H'F0,37,16,6,-1,-1		;LAUNCH FAN
	.DRW	13
      	.DB	H'F0,37,23,11,-1,-1		;LAUNCH FAN
	.DRW	16
      	.DB	H'F0,37,22,9,-1,-1		;LAUNCH FAN
	.DRW	18
      	.DB	H'F0,37,10,7,-1,-1		;LAUNCH FAN
	.DRW	19
      	.DB	H'F0,37,16,7,-1,-1		;LAUNCH FAN
	.DRW	22
      	.DB	H'F0,37,23,10,-1,-1		;LAUNCH FAN
	.DRW	26
      	.DB	H'F0,37,10,6,-1,-1		;LAUNCH FAN
	.DRW	27
      	.DB	H'F0,37,16,8,-1,-1		;LAUNCH FAN
	.DRW	29
      	.DB	H'F0,37,25,9,-1,-1		;LAUNCH FAN
	.DRW	-1,0	 	



BOSSTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    13
      	.DB	H'F0,43,10,0,-1,-1		;LAUNCH BOSS
	.DRW    14
      	.DB	H'F0,1,27,0,-1,-1		;LAUNCH HAND
	.DRW	-1,0	 			


SQUITAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW    14
      	.DB	H'F0,1,27,0,-1,-1		;LAUNCH HAND
	.DRW    15
      	.DB	H'F0,49,10,1,-1,-1		;SQUISHI!!
	.DRW	-1,0	 			

CREDTAB:		;32 WIDE

	.DRW	0,0,0,0				
	.DRW	1
      	.DB	H'F0,35,31,0,-1,-1		;LAUNCH HAPPY PEOPLE
	.DRW	2
      	.DB	H'F0,36,27,0,-1,-1		;LAUNCH HAND
	.DRW    3
      	.DB	H'F0,51,10,0,-1,-1		;LAUNCH CREDITS
	.DRW	-1,0	 			


NULLTAB:		;32 WIDE

	.DRW	0,0,0,0		
	.DRW	-1,0	 	


